草庐IT

java - 在 @Rule 中并行化测试执行

全部标签

ruby-on-rails - 每个请求的 Ruby GC 执行超过 ~250-320 毫秒

我有一个ruby​​onrails应用程序。我正在调查我的NewRelic门户中的Apdex下降情况,我发现平均有250-320毫秒的时间花在了GC执行上。这是一个非常令人不安的数字。我在下面包含了一个屏幕截图。我的Ruby版本是:ruby1.9.3p194(2012-04-20修订版35410)[x86_64-linux]任何关于调整它的建议都是理想的。这个数字应该低得多。 最佳答案 您在GC上花费了很多时间,因为您经常运行GC。默认情况下,Ruby设置适用于小型脚本而非大型应用程序的GC参数。尝试使用以下环境参数集启动您的应用:

ruby - 在 Ruby 中为 REST API 编写单元测试

我已经使用sinatra编写了一个基本的RESTAPI。有谁知道为它编写测试的最佳方法吗?我想使用Ruby来做到这一点。我已经使用curl完成了初步测试。但我想做一些更强大的事情。这是我的第一个API-有什么我应该测试的具体内容吗? 最佳答案 最好的方式见仁见智:)就我个人而言,我喜欢简单干净。使用像minitest这样的工具,Watir和rest-client,您可以对REST界面进行非常简单的测试,并通过实际浏览器(支持所有主要浏览器)测试您的Web服务。#!/usr/bin/ruby##Requiresthatyouhavei

ruby - 哪种风格,lambda..should 或 expect..to,更适合在 RSpec 中测试预期?

我看到两种样式都被广泛使用:#1lambda{raise"Boom"}.shouldraise_error和#2expect{raise"Boom"}.toraise_error.我喜欢expect..tomore,因为它读起来更好,并且隐藏了过程的创建。我查看了rspec代码,似乎expect..to是suggested,但是我经常遇到使用lambda..should的库。期望..更新,因此还不是“著名”吗? 最佳答案 expect从rspec-2开始使用,之前必须使用lambda。RSpec“正式”建议使用expect,他们可能

ruby-on-rails - 编写 gem 时如何测试虚拟 Rails 应用程序?

我正在编写一个与Rails集成的gem,我希望能够在我的gem的测试套件中使用rspec测试一个虚拟应用程序。当我测试我的虚拟rails应用程序是否通过加载/几个模块时,问题出现了rspec规范/integration/rails/load_path_spec.rb到目前为止,这是我所拥有的:#spec/support/rails_app/config/environment.rb#LoadtheRailsapplication.requireFile.expand_path('../application',__FILE__)#Loadthegemrequire'skinny_con

ruby-on-rails - Rails - 测试 fixture 错误 NoMethodError : undefined method `type' for nil:NilClass

我在运行使用具有模型之间关联的固定装置的测试时遇到问题。这是我一运行raketest就得到的错误:ERROR["test_truth",SevenPortfolioTest,0.005154775]test_truth#SevenPortfolioTest(0.01s)NoMethodError:NoMethodError:undefinedmethod`type'fornil:NilClassERROR["test_should_destroy_item_video",SevenPortfolio::ItemVideosControllerTest,0.008887804]test_

ruby-on-rails - 防止 Rails 测试删除种子数据

我正在使用seeds.rb填充一些状态模型引用数据:State.create:name=>'Alabama',:abbreviation=>'AL'State.create:name=>'Alaska',:abbreviation=>'AK'#...虽然我没有使用状态固定装置(因为它是种子数据,我认为纯粹为了测试而复制它不会是DRY),Rails测试框架似乎删除了所有状态种子数据测试。(我正在删除、重新创建、迁移和重新播种测试数据库,并在单元测试运行之前确认数据在那里。)结果是此断言在seeds.rb中成功但在单行测试中失败:assert_equal51,State.all.size1

ruby - 如何观察YARV执行的Ruby字节码

我想观察YARV执行的Ruby字节码,事后分析。我怎样才能得到这个?其他人here告诉这是不可能的。但是,有hotruby似乎执行ruby字节码的框架,所以我很困惑......非常感谢! 最佳答案 你可以很好地使用解释器将一大块Ruby代码编译成字节码(当然,只有RubyMRI1.9可以工作,因为它是唯一使用YARV虚拟机的实现),并得到它的Ruby-ish表示:ruby-1.9.2-p180:007>require'pp'=>trueruby-1.9.2-p180:008>ppRubyVM::InstructionSequence

ruby - 如何运行独立的 Capybara 测试?

我正在尝试针对远程服务器运行测试。即:require'rubygems'require'capybara'require'capybara/dsl'Capybara.default_driver=:seleniumCapybara.app_host='http://www.google.com'moduleMyCapybaraTestincludeCapybaradeftest_googlevisit('/')endend问题是,你如何运行它? 最佳答案 保存require'rubygems'require'capybara'req

ruby - 惯用的 Ruby - 执行一个函数直到它返回一个 nil,将它的值收集到一个列表中

我从这篇文章中窃取了我的标题:Executesafunctionuntilitreturnsanil,collectingitsvaluesintoalist这个问题涉及Lisp,坦率地说,我无法理解。然而,我认为他的问题——翻译成Ruby——正是我自己的问题:What'sthebestwaytocreateaconditionalloopin[Ruby]thatexecutesafunctionuntilitreturnsNILatwhichtimeitcollectsthereturnedvaluesintoalist?我目前笨拙的方法是这样的:deffooret=Array.ne

ruby - 将 Ruby 打包成可移植的可执行文件

长期以来,我一直在努力寻找一个好的解决方案:是否有可靠的方法将ruby​​安装到可在该平台上移植的文件夹中?我想要一个文件夹,我可以轻松地将其复制到我正在制作的发行版中,这样我就可以“随时随地”拥有一个ruby​​环境。如果我需要编译源代码和其他东西,那很好,只要我最终安装了可移植的ruby​​安装即可。我找到了一些试图解决这个问题的资源,但没有一个让我满意。PortableRubyonRailsenvironmenthttp://hcettech.blogspot.pt/2012/05/windows-portable-rails-development.html对我来说,这是Rub